//package com.sansui.blog.exception;
//
//import com.sansui.blog.utils.DataResult;
//import com.sansui.blog.utils.HttpStatus;
//import io.swagger.annotations.ApiOperation;
//import org.apache.shiro.authz.AuthorizationException;
//import org.springframework.web.bind.annotation.*;
//import org.springframework.web.servlet.NoHandlerFoundException;
//
//import javax.servlet.http.HttpServletRequest;
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * @name: ExceptionHandleController
// * @author: Sansui
// * @Software: IDEA
// * @Blog: https://www.cnblogs.com/sansui6/
// * @date: 2022-07-31 18:45
// *
// *  统一异常处理类
// *  捕获程序所有异常，针对不同异常，采取不同的处理方式
// *
// **/
//@ControllerAdvice
//@RestController
//public class ExceptionHandleController {
//
//    /**
//     * 后台全局捕获异常
//     * @param e
//     * @return
//     */
//    @ApiOperation(value = "handle", notes = "无权限或未知异常进入的方法")
//    @ExceptionHandler(value = Exception.class)
//    @ResponseBody
//    public DataResult handle(Throwable e) {
//        if(e instanceof AuthorizationException){
//            return DataResult.setResult(HttpStatus.SC_UNAUTHORIZED,"您没有权限！");
//        }
//        return DataResult.setResult(HttpStatus.SC_INTERNAL_SERVER_ERROR,"未知异常："+e.getMessage());
//    }
//
//    /***
//     * 404处理
//     * @param e
//     * @return
//     */
//    @ExceptionHandler(NoHandlerFoundException.class)
//    @ResponseBody
//    @ResponseStatus(org.springframework.http.HttpStatus.NOT_FOUND)
//    public Object notFountHandler(HttpServletRequest request, NoHandlerFoundException e){
//        String method = request.getMethod();
//        String path = request.getRequestURI();
//        Map<String,Object> data = new HashMap();
//        data.put("code","404");
//        data.put("method",method);
//        data.put("path",path);
//        data.put("desc","404啦");
//        return data;
//    }
//
//    /**
//     * 无登录状态提示的
//     * @return
//     */
//    @GetMapping("/defaultLogin")
//    public DataResult defaultLogin(){
//        return DataResult.setResult(HttpStatus.SC_UNAUTHORIZED,"您没有登录或者您的登录操作已过期！请重新登录。");
//    }
//
//}
